package cn.huiyunche.base.service.vo;

import cn.huiyunche.base.service.enums.AccBillTypeEnum;
import cn.huiyunche.base.service.enums.AccPaytypeEnum;
import cn.huiyunche.base.service.enums.AccTurnoverStatusEnum;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

public class CTurnoverOrdersVo implements Serializable {
    private Long id;

    private Long userId;

    private String userName;

    private Integer userType;

    private Long orderId;

    // 业务单号
    private String bussinessId;

    private BigDecimal orderFee;

    // 费用
    private BigDecimal orderActPay;

    private Integer payType;

    // 业务类型 描述
    private String payTypeText;

    private Long billId;

    // 交易时间
    private Date createTime;

    private Integer status;

    // 状态 描述
    private String statusText;

    // 支出/收入
    private String directionText;

    // 起运地
    private String departName;

    // 目的地
    private String receiptName;

    // 车辆数
    private int carAmount;

    // 交车日期
    private Date arriveDate;

    private Date updateTime;

    private Integer billType;

    private String billTypeText;

    private static final long serialVersionUID = 1L;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public Integer getUserType() {
        return userType;
    }

    public void setUserType(Integer userType) {
        this.userType = userType;
    }

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public String getBussinessId() {
        return bussinessId;
    }

    public void setBussinessId(String bussinessId) {
        this.bussinessId = bussinessId;
    }

    public BigDecimal getOrderFee() {
        return orderFee;
    }

    public void setOrderFee(BigDecimal orderFee) {
        this.orderFee = orderFee;
    }

    public BigDecimal getOrderActPay() {
        return orderActPay;
    }

    public void setOrderActPay(BigDecimal orderActPay) {
        this.orderActPay = orderActPay;
    }

    public Integer getPayType() {
        return payType;
    }

    public void setPayType(Integer payType) {
        this.payType = payType;
    }

    public String getPayTypeText() {
        return payType == null ? "" : AccPaytypeEnum.getByValue(payType).getText();
    }

    public void setPayTypeText(String payTypeText) {
        this.payTypeText = payTypeText;
    }

    public Long getBillId() {
        return billId;
    }

    public void setBillId(Long billId) {
        this.billId = billId;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getStatusText() {
        return status == null ? "" : AccTurnoverStatusEnum.getByValue(status).getText();
    }

    public void setStatusText(String statusText) {
        this.statusText = statusText;
    }

    public String getDirectionText() {
        return directionText;
    }

    public void setDirectionText(String directionText) {
        this.directionText = directionText;
    }

    public String getDepartName() {
        return departName;
    }

    public void setDepartName(String departName) {
        this.departName = departName;
    }

    public String getReceiptName() {
        return receiptName;
    }

    public void setReceiptName(String receiptName) {
        this.receiptName = receiptName;
    }

    public int getCarAmount() {
        return carAmount;
    }

    public void setCarAmount(int carAmount) {
        this.carAmount = carAmount;
    }

    public Date getArriveDate() {
        return arriveDate;
    }

    public void setArriveDate(Date arriveDate) {
        this.arriveDate = arriveDate;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Integer getBillType() {
        return billType == null ? 10 : billType;
    }

    public void setBillType(Integer billType) {
        this.billType = billType;
    }

    public String getBillTypeText() {
        return billType == null || billType == 0 ? "同城配送" : AccBillTypeEnum.getByValue(billType).getText();
    }

    public void setBillTypeText(String billTypeText) {
        this.billTypeText = billTypeText;
    }

    @Override
    public String toString() {
        return "CTurnoverOrdersVo [id=" + id + ", userId=" + userId + ", userName=" + userName + ", userType="
                + userType + ", orderId=" + orderId + ", bussinessId=" + bussinessId + ", orderFee=" + orderFee
                + ", orderActPay=" + orderActPay + ", payType=" + payType + ", payTypeText=" + payTypeText + ", billId="
                + billId + ", createTime=" + createTime + ", status=" + status + ", statusText=" + statusText
                + ", directionText=" + directionText + ", departName=" + departName + ", receiptName=" + receiptName
                + ", carAmount=" + carAmount + ", arriveDate=" + arriveDate + ", updateTime=" + updateTime
                + ", billType=" + billType + ", billTypeText=" + billTypeText + "]";
    }

}